home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-02 | 3.2 KB | 89 lines | [TEXT/CCL2] |
- ;;;-*- Mode: Lisp; Package: (WOOD) -*-
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;
- ;; load-wood.lisp
- ;; Load this file and evaluate (wood::load-wood)
- ;; You may need to edit the definition of the "wood" logical host.
- ;;
- ;; Copyright © 1992 Apple Computer, Inc. All rights reserved.
- ;; Permission is given to use, copy, and modify this software provided
- ;; that this copyright notice is attached to all derivative works.
- ;; This software is provided "as is". Apple makes no warranty or
- ;; representation, either express or implied, with respect to this software,
- ;; its quality, accuracy, merchantability, or fitness for a particular
- ;; purpose.
- ;;
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;
- ;; Modification History
- ;;
- ;; -------------- 0.5
- ;; 07/27/92 bill Export all documented symbols.
- ;;
-
- (defpackage :wood)
- (in-package :wood)
-
- (export '(load-wood
- open-pheap close-pheap with-open-pheap root-object flush-pheap
- p-load p-store
- p-make-area with-consing-area
- p-cons p-list p-list-in-area p-make-list
- p-make-uvector p-make-array p-vector
- p-listp p-consp p-atom p-uvectorp p-packagep p-symbolp
- p-stringp p-simple-string-p p-vectorp p-simple-vector-p p-arrayp
- p-car p-cdr p-caar p-cadr p-cdar p-cddr
- p-caaar p-caadr p-cadar p-caddr p-cdaar p-cdadr p-cddar p-cdddr
- p-caaaar p-caaadr p-caadar p-caaddr p-cadaar p-cadadr p-caddar p-cadddr
- p-cdaaar p-cdaadr p-cdadar p-cdaddr p-cddaar p-cddadr p-cdddar p-cddddr
- p-uvsize p-uvref p-svref p-%svref p-length p-aref
- p-array-rank p-array-dimensions p-array-dimension
- p-intern p-find-symbol p-find-package p-make-package
- p-symbol-name p-symbol-package p-symbol-value
- p-package-name p-package-nicknames
- p-make-btree p-btree-lookup p-btree-store p-btree-delete
- p-btree-clear p-map-btree
- p-make-hash-table p-gethash p-remhash p-clrhash
- p-hash-table-size p-maphash
- wood-slot-names-vector wood-slot-value))
-
- (setf (logical-pathname-translations "wood")
- '(("**;*.*" "ccl:wood;**;*.*")))
-
- (pushnew "wood:" *module-search-path* :test 'equalp)
-
- (defun compile-if-needed (file &optional force)
- (let ((lisp (merge-pathnames file ".lisp"))
- (fasl (merge-pathnames file ".fasl")))
- (when (or force
- (not (probe-file fasl))
- (> (file-write-date lisp) (file-write-date fasl)))
- (compile-file lisp :verbose t))))
-
- (defun compile-and-load (file &optional force-compile)
- (compile-if-needed file force-compile)
- (load file :verbose t))
-
- (defparameter *wood-files*
- '("block-io-mcl" "split-lfun" "disk-cache" "woodequ" "disk-cache-accessors"
- "disk-cache-inspector" "persistent-heap" "btrees" "persistent-clos"
- "recovery"))
-
- (defun load-wood (&optional force-compile)
- (with-compilation-unit ()
- (compile-if-needed "wood:load-wood")
- (dolist (file *wood-files*)
- (compile-and-load (merge-pathnames file "wood:") force-compile))))
-
- ; This should be called only after load-wood.
- ; It compiles the changed files
- (defun compile-wood ()
- (with-compilation-unit ()
- (compile-if-needed "wood:load-wood")
- (dolist (file *wood-files*)
- (compile-if-needed (merge-pathnames file "wood:")))))
-
-
-